package com.jrauto.CarAppBackend.entity.dto;

/**
 * @author : huiMing
 * Date : 2025年09月10日 18:51
 * @version V1.0
 */

import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 消息传输对象
 */
@Data
public class MessageDTO {

    private Integer id;

    /**
     * 聊天室ID
     */
    @NotNull(message = "聊天室ID不能为空")
    private Integer roomId;

    /**
     * 发送者用户ID
     */
    @NotNull(message = "发送者ID不能为空")
    private Integer senderId;

    /**
     * 接收者用户ID
     */
    @NotNull(message = "接收者ID不能为空")
    private Integer receiverId;

    /**
     * 消息类型：TEXT-文本，IMAGE-图片，VOICE-语音
     */
    @NotNull(message = "消息类型不能为空")
    private String messageType;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 文件URL（图片或语音文件）
     */
    private String fileUrl;

    /**
     * 文件大小（字节）
     */
    private Integer fileSize;

    /**
     * 语音时长（秒）
     */
    private Integer voiceDuration;

    /**
     * 消息状态：0-未读，1-已读
     */
    private Integer readStatus;

    /**
     * 发送者昵称
     */
    private String senderNickname;

    /**
     * 发送者头像
     */
    private String senderAvatar;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
}
